#include <stdio.h>
/*
符号每次取反；
分子等于前一项的分母；
分母等于前一项分子分母之和；*/
int main() {
    int n;

    printf("请输入项数 n: ");
    scanf("%d", &n);

    double sum = 0.0;
    int numerator = 1; // 分子
    int denominator = 1; // 分母
    int sign = 1; // 符号，1 表示正，-1 表示负

    for (int i = 1; i <= n; i++) {
        sum = sum + sign * (double) numerator / denominator;

        // 更新分子和分母
        int nextNumerator =  denominator; // 分子等于前一项的分母
        // 分母等于前一项分子分母之和
        denominator = denominator + numerator; // 更新分母
        numerator = nextNumerator; // 更新分子
        sign = -sign; // 切换符号
    }

    double result = sum;
    printf("前 %d 项和为: %.3f\n", n, result);

    return 0;
}
